package net.lgy.mapper;

import net.lgy.model.AccountFileDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 用户文件表 Mapper 接口
 * </p>
 *
 * @author 小滴课堂-二当家小D,
 * @since 2024-12-24
 */
@Mapper
public interface AccountFileMapper extends BaseMapper<AccountFileDO> {

    List<AccountFileDO> folderTree(Long accountNo, String isDir);

    Integer insertFileBatch(@Param("newAccountFileDOList") List<AccountFileDO> newAccountFileDOList);

//    查询被删除的文件
    List<AccountFileDO> selectRecycleFileList(@Param("accountNo") Long accountNo, @Param("fileIdList") List<Long> fileIdList);

//    查询被删除的文件子文件
    List<AccountFileDO> selectDelChildFilesList(@Param("parentId") Long parentId,@Param("accountNo") Long accountNo);
//    彻底删除文件
    int deleteRecylecFiles(@Param("list") List<Long> list);
//    更新回收站的重复文件名
    boolean updateRecycleFileById(@Param("id") Long id, @Param("fileName") String fileName);

    int restoreFiles(@Param("fileIds") List<Long> fileIds);


    List<AccountFileDO> selectFileList(@Param("allFileIds") List<Long> allFileIds);
}
